Package-level declarations
Types
Link copied to clipboard
class AsynchronousAutomaton<State, Transition, NoNextStateReason>(mutex: Mutex = Mutex(), initialState: State, checkTransition: suspend AsynchronousAutomaton<State, Transition, NoNextStateReason>.(State, Transition) -> CheckResult<State, NoNextStateReason>, onTransition: suspend AsynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })
Link copied to clipboard
class BlockingAutomaton<State, Transition, NoNextStateReason>(initialState: State, checkTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, onTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }) : SynchronizedObject
Link copied to clipboard
Link copied to clipboard
sealed interface ConcurrentMovementMaybeResult<out State, out Transition, out NoTransitionReason, out NoNextStateReason>
Link copied to clipboard
Link copied to clipboard
sealed interface MovementAndComputationResult<out State, out Transition, out NoNextStateReason, out Computation>
Link copied to clipboard
sealed interface MovementMaybeAndComputationResult<out State, out Transition, out NoTransitionReason, out NoNextStateReason, out Computation>
Link copied to clipboard
sealed interface MovementMaybeResult<out State, out Transition, out NoTransitionReason, out NoNextStateReason>
Link copied to clipboard
Link copied to clipboard
class SuspendAutomaton<State, Transition, NoNextStateReason>(initialState: State, checkTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(State, Transition) -> CheckResult<State, NoNextStateReason>, onTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })
Link copied to clipboard
class SynchronousAutomaton<State, Transition, NoNextStateReason>(initialState: State, checkTransition: SynchronousAutomaton<State, Transition, NoNextStateReason>.(State, Transition) -> CheckResult<State, NoNextStateReason>, onTransition: SynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })
Link copied to clipboard
data class TransitionAndComputation<out Transition, out Computation>(val transition: Transition, val computation: Computation)
Link copied to clipboard
Link copied to clipboard
Functions
Link copied to clipboard
suspend fun <State, Transition, NoNextStateReason> AsynchronousAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline suspend fun <State, Transition, NoNextStateReason> AsynchronousAutomaton<State, Transition, NoNextStateReason>.move(transition: suspend (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
fun <State, Transition, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline fun <State, Transition, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.move(transition: (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
suspend fun <State, Transition, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline suspend fun <State, Transition, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.move(transition: suspend (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
fun <State, Transition, NoNextStateReason> SynchronousAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline fun <State, Transition, NoNextStateReason> SynchronousAutomaton<State, Transition, NoNextStateReason>.move(transition: (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
Link copied to clipboard
inline suspend fun <State, Transition, NoNextStateReason, Computation> AsynchronousAutomaton<State, Transition, NoNextStateReason>.moveAndCompute(transition: suspend (State) -> TransitionAndComputation<Transition, Computation>): MovementAndComputationResult<State, Transition, NoNextStateReason, Computation>
inline suspend fun <State, Transition, NoNextStateReason, Computation> SuspendAutomaton<State, Transition, NoNextStateReason>.moveAndCompute(transition: suspend (State) -> TransitionAndComputation<Transition, Computation>): MovementAndComputationResult<State, Transition, NoNextStateReason, Computation>
inline fun <State, Transition, NoNextStateReason, Computation> SynchronousAutomaton<State, Transition, NoNextStateReason>.moveAndCompute(transition: (State) -> TransitionAndComputation<Transition, Computation>): MovementAndComputationResult<State, Transition, NoNextStateReason, Computation>
Link copied to clipboard
suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> AsynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> AsynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: suspend (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
fun <State, Transition, NoTransitionReason, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline fun <State, Transition, NoTransitionReason, NoNextStateReason> BlockingAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: suspend (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
fun <State, Transition, NoTransitionReason, NoNextStateReason> SynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline fun <State, Transition, NoTransitionReason, NoNextStateReason> SynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
Link copied to clipboard
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason, Computation> AsynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybeAndCompute(transition: suspend (State) -> TransitionOrReasonAndComputation<Transition, NoTransitionReason, Computation>): MovementMaybeAndComputationResult<State, Transition, NoTransitionReason, NoNextStateReason, Computation>
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason, Computation> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybeAndCompute(transition: suspend (State) -> TransitionOrReasonAndComputation<Transition, NoTransitionReason, Computation>): MovementMaybeAndComputationResult<State, Transition, NoTransitionReason, NoNextStateReason, Computation>
inline fun <State, Transition, NoTransitionReason, NoNextStateReason, Computation> SynchronousAutomaton<State, Transition, NoNextStateReason>.moveMaybeAndCompute(transition: (State) -> TransitionOrReasonAndComputation<Transition, NoTransitionReason, Computation>): MovementMaybeAndComputationResult<State, Transition, NoTransitionReason, NoNextStateReason, Computation>